[INFO] fetching crate axominijinja 2.4.0...
[INFO] fixing axominijinja-2.4.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate axominijinja 2.4.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate axominijinja 2.4.0
[INFO] finished tweaking crates.io crate axominijinja 2.4.0
[INFO] tweaked toml for crates.io crate axominijinja 2.4.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate axominijinja 2.4.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 65 packages to latest compatible versions
[INFO] [stderr]       Adding indexmap v1.9.3 (available: v2.14.0)
[INFO] [stderr]       Adding similar-asserts v1.7.0 (available: v2.0.0)
[INFO] [stderr]       Adding v_htmlescape v0.15.8 (available: v0.17.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 464081d3b8c9fe1ca9759f81f8eb04a78caab3a4dcf75708555e8bcfe3e7ba30
[INFO] running `Command { std: "docker" "start" "464081d3b8c9fe1ca9759f81f8eb04a78caab3a4dcf75708555e8bcfe3e7ba30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "464081d3b8c9fe1ca9759f81f8eb04a78caab3a4dcf75708555e8bcfe3e7ba30" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "464081d3b8c9fe1ca9759f81f8eb04a78caab3a4dcf75708555e8bcfe3e7ba30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "464081d3b8c9fe1ca9759f81f8eb04a78caab3a4dcf75708555e8bcfe3e7ba30" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking similar-asserts v1.7.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking insta v1.48.0
[INFO] [stderr]     Checking axominijinja v2.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/utils.rs (1 fix)
[INFO] [stderr]        Fixed src/macros.rs (19 fixes)
[INFO] [stderr]        Fixed src/environment.rs (3 fixes)
[INFO] [stderr]        Fixed src/compiler/parser.rs (15 fixes)
[INFO] [stderr]        Fixed src/value/mod.rs (19 fixes)
[INFO] [stderr]        Fixed src/value/argtypes.rs (2 fixes)
[INFO] [stderr]        Fixed src/functions.rs (1 fix)
[INFO] [stderr]        Fixed src/compiler/codegen.rs (9 fixes)
[INFO] [stderr]        Fixed src/template.rs (5 fixes)
[INFO] [stderr]        Fixed src/compiler/lexer.rs (2 fixes)
[INFO] [stderr]        Fixed src/filters.rs (1 fix)
[INFO] [stderr]        Fixed src/vm/mod.rs (5 fixes)
[INFO] [stderr]        Fixed src/value/ops.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:254:30
[INFO] [stdout]     |
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 252 |                 let expr2 = ok!(self.parse_or());
[INFO] [stdout]     |                                 ---------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 253 |                 let expr3 = if skip_token!(self, Token::Ident("else")) {
[INFO] [stdout] 254 |                     Some(ok!(self.parse_ifexpr()))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                              up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 255 |                 } else {
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:443:29
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 439 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 443 |                         ok!(self.parse_args())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                             up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 444 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 457 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 483 |                         let mut expr = ok!(self.parse_unary_only());
[INFO] [stdout]     |                                            -----------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 484 |                         expr = ok!(self.parse_postfix(expr, span));
[INFO] [stdout]     |                                    ------------------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:462:29
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 439 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |                         ok!(self.parse_args())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                             up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 463 |                     } else if matches_token!(
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 483 |                         let mut expr = ok!(self.parse_unary_only());
[INFO] [stdout]     |                                            -----------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 484 |                         expr = ok!(self.parse_postfix(expr, span));
[INFO] [stdout]     |                                    ------------------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:437:23
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 437 |             match ok!(self.stream.current()) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 438 |                 Some((Token::Pipe, _)) => {
[INFO] [stdout] 439 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 483 |                         let mut expr = ok!(self.parse_unary_only());
[INFO] [stdout]     |                                            -----------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 484 |                         expr = ok!(self.parse_postfix(expr, span));
[INFO] [stdout]     |                                    ------------------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:576:62
[INFO] [stdout]     |
[INFO] [stdout] 576 |                     while let Some((Token::Str(s), _)) = ok!(self.stream.current()) {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 577 |                         buf.push_str(s);
[INFO] [stdout] 578 |                         ok!(self.stream.next());
[INFO] [stdout]     |                             ------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 579 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:781:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 777 |                 let rv = ok!(self.parse_assignment());
[INFO] [stdout]     |                              -----------------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 781 |                 ok!(self.parse_assign_name(false))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 782 |             });
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:869:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 865 |                 let assign = ok!(self.parse_assignment());
[INFO] [stdout]     |                                  -----------------------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 869 |                 ok!(self.parse_assign_name(false))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 870 |             };
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 871 |             expect_token!(self, Token::Assign, "assignment operator");
[INFO] [stdout] 872 |             let expr = ok!(self.parse_expr());
[INFO] [stdout]     |                            -----------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:958:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 958 |                 ok!(self.parse_args())
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 959 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler/parser.rs:1039:26
[INFO] [stdout]      |
[INFO] [stdout]   70 |         match $p.stream.current() {
[INFO] [stdout]      |               -------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   80 |         match $p.stream.current() {
[INFO] [stdout]      |               -------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   83 |                 let _ = $p.stream.next();
[INFO] [stdout]      |                         ----------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1037 |             let name = ok!(self.parse_assign_name(false));
[INFO] [stdout]      |                            -----------------------------
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 1038 |             let alias = if skip_token!(self, Token::Ident("as")) {
[INFO] [stdout] 1039 |                 Some(ok!(self.parse_assign_name(false)))
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1040 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/context.rs:168:52
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     for key in iter {
[INFO] [stdout]     |                         ---    ----
[INFO] [stdout]     |                         |      |
[INFO] [stdout]     |                         |      `iter` calls a custom destructor
[INFO] [stdout]     |                         |      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `key` calls a custom destructor
[INFO] [stdout]     |                         `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                                 if let Ok(value) = frame.ctx.get_item(&key) {
[INFO] [stdout]     |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |        |
[INFO] [stdout]     |                                           |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                           |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                           `value` calls a custom destructor
[INFO] [stdout]     |                                           `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |                             }
[INFO] [stdout]     |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `key` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `value` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/context.rs:164:35
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 if let Ok(iter) = frame.ctx.try_iter() {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 165 |                     for key in iter {
[INFO] [stdout]     |                         ---    ----
[INFO] [stdout]     |                         |      |
[INFO] [stdout]     |                         |      `iter` calls a custom destructor
[INFO] [stdout]     |                         |      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `key` calls a custom destructor
[INFO] [stdout]     |                         `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                                 if let Ok(value) = frame.ctx.get_item(&key) {
[INFO] [stdout]     |                                           -----
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `value` calls a custom destructor
[INFO] [stdout]     |                                           `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `key` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `value` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/mod.rs:435:49
[INFO] [stdout]     |
[INFO] [stdout] 200 |                   let jump_target = ctx_ok!(self.prepare_loop_recursion(state));
[INFO] [stdout]     |                                             ----------------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                             `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                                             `#45` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 232 |                       out.end_capture(AutoEscape::None);
[INFO] [stdout]     |                       ---------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |               let a;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 247 |               let b;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |                       stack.push(ctx_ok!(ops::$method(&a, &b)));
[INFO] [stdout]     |                                               ---------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                               `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                               `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                               `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 | /                     match $expr {
[INFO] [stdout] 276 | |                         Ok(rv) => rv,
[INFO] [stdout] 277 | |                         Err(err) => bail!(err),
[INFO] [stdout] 278 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                       `#43` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 309 |                       ok!(out.write_str(val).map_err(Error::from));
[INFO] [stdout]     |                           ---------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                       ctx_ok!(self.env.format(&stack.pop(), state, out));
[INFO] [stdout]     |                               -----------------------------------------
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 329 |                       stack.push(match a.get_attr_fast(name) {
[INFO] [stdout]     |                                        ---------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 330 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 331 |                           None => ctx_ok!(undefined_behavior.handle_undefined(a.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       stack.push(match b.get_item_opt(&a) {
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 350 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 351 |                           None => ctx_ok!(undefined_behavior.handle_undefined(b.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 362 |                       stack.push(ctx_ok!(ops::slice(a, b, stop, step)));
[INFO] [stdout]     |                                          ----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 372 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 381 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                           `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 395 |                       ctx_ok!(self.unpack_list(&mut stack, *count));
[INFO] [stdout]     |                               ------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                       ctx_ok!(state.undefined_behavior().assert_iterable(&a));
[INFO] [stdout]     |                               ----------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                               `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 425 |                       stack.push(ctx_ok!(ops::contains(&a, &b)));
[INFO] [stdout]     |                                          ---------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                          `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 429 |                       stack.push(ctx_ok!(ops::neg(&a)));
[INFO] [stdout]     |                                          ------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                          `#22` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 432 |                       ctx_ok!(state.ctx.push_frame(Frame::default()));
[INFO] [stdout]     |                               --------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 435 |                       if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop {
[INFO] [stdout]     |                                   ------------    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |               |
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#49`
[INFO] [stdout]     |                                   |               up until Edition 2021 `#49` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `loop_ctx` calls a custom destructor
[INFO] [stdout]     |                                   `loop_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 445 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 453 |                       ctx_ok!(self.push_loop(state, a, *flags, pc, next_loop_recursion_jump.take()));
[INFO] [stdout]     |                               ---------------------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                               `#24` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 459 |                       let next = {
[INFO] [stdout]     |                           ----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `next` calls a custom destructor
[INFO] [stdout]     |                           `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |                               let mut triple = l.object.value_triple.lock().unwrap();
[INFO] [stdout]     |                                   ----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `triple` calls a custom destructor
[INFO] [stdout]     |                                   `triple` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 491 |                       if !ctx_ok!(undefined_behavior.is_true(&a)) {
[INFO] [stdout]     |                                   ------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 497 |                       if !ctx_ok!(undefined_behavior.is_true(stack.peek())) {
[INFO] [stdout]     |                                   ----------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                                   `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 501 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                           `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 |                       if ctx_ok!(undefined_behavior.is_true(stack.peek())) {
[INFO] [stdout]     |                                  ----------------------------------------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                                  `#28` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 509 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                           `#29` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 515 |                           self.call_block(name, state, out)?;
[INFO] [stdout]     |                           ----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                           `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                           `#31` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 521 |                       state.auto_escape = ctx_ok!(self.derive_auto_escape(a, initial_auto_escape));
[INFO] [stdout]     |                                                   -----------------------------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     |                                                   `#32` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 534 |                           ctx_ok!(get_or_lookup_local(&mut loaded_filters, *local_id, || {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 535 | |                             state.env.get_filter(name)
[INFO] [stdout] 536 | |                         })
[INFO] [stdout] 537 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 542 | |                         }));
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                            `#33` will be dropped later as of Edition 2024
[INFO] [stdout] 543 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 544 | |                     a = ctx_ok!(filter.apply_to(state, args));
[INFO] [stdout]     | |                                 ----------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     | |                                 `#34` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 549 |                       let test = ctx_ok!(get_or_lookup_local(&mut loaded_tests, *local_id, || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]     | |________________________________________|
[INFO] [stdout] 550 | |                         state.env.get_test(name)
[INFO] [stdout] 551 | |                     })
[INFO] [stdout] 552 | |                     .ok_or_else(|| {
[INFO] [stdout] 553 | |                         Error::new(ErrorKind::UnknownTest, format!("test {name} is unknown"))
[INFO] [stdout] 554 | |                     }));
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                        `#35` will be dropped later as of Edition 2024
[INFO] [stdout] 555 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 556 | |                     let rv = ctx_ok!(test.perform(state, args));
[INFO] [stdout]     | |                                      -------------------------
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |                                      this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     | |                                      `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 569 | |                         stack.push(ctx_ok!(self.perform_super(state, out, true)));
[INFO] [stdout]     | |                                            ------------------------------------
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |                                            this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     | |                                            `#37` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 580 | |                     } else { match state.lookup(name) { Some(func) => {
[INFO] [stdout]     | |                                                              ----
[INFO] [stdout]     | |                                                              |
[INFO] [stdout]     | |                                                              `func` calls a custom destructor
[INFO] [stdout]     | |                                                              `func` will be dropped later as of Edition 2024
[INFO] [stdout] 581 | |                         let args = stack.slice_top(*arg_count);
[INFO] [stdout] 582 | |                         a = ctx_ok!(func.call(state, args));
[INFO] [stdout]     | |                                     ----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     | |                                     `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 594 | |                     a = ctx_ok!(args[0].call_method(state, name, &args[1..]));
[INFO] [stdout]     | |                                 --------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |                     a = ctx_ok!(args[0].call(state, &args[1..]));
[INFO] [stdout]     | |                                 -------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     | |                                 `#41` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 608 | |                     stack.pop();
[INFO] [stdout]     | |                     -----------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     | |                     `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 611 | |                     ctx_ok!(self.perform_super(state, out, false));
[INFO] [stdout]     | |                             -------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     | |                             `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 648 | |                     parent_instructions = Some(ctx_ok!(self.load_blocks(a, state)));
[INFO] [stdout]     | |                                                        --------------------------
[INFO] [stdout]     | |                                                        |
[INFO] [stdout]     | |                                                        this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     | |                                                        `#46` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 654 | |                     ctx_ok!(self.perform_include(a, state, out, *ignore_missing));
[INFO] [stdout]     | |                             ----------------------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |                             `#47` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 661 | |                         module.insert(Value::from(*key), value.clone());
[INFO] [stdout]     | |                         -----------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     | |                         `#48` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#49` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#49` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `a` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `b` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#23` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `loop_ctx` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `loop_ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `next` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `triple` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#26` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#29` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#32` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#32` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#35` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#35` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#38` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#38` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `func` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `func` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#41` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#41` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#43` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#43` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#45` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#45` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#48` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#48` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/mod.rs:580:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |                   let jump_target = ctx_ok!(self.prepare_loop_recursion(state));
[INFO] [stdout]     |                                             ----------------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                             `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                                             `#45` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 232 |                       out.end_capture(AutoEscape::None);
[INFO] [stdout]     |                       ---------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |               let a;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 247 |               let b;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |                       stack.push(ctx_ok!(ops::$method(&a, &b)));
[INFO] [stdout]     |                                               ---------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                               `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                               `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                               `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 | /                     match $expr {
[INFO] [stdout] 276 | |                         Ok(rv) => rv,
[INFO] [stdout] 277 | |                         Err(err) => bail!(err),
[INFO] [stdout] 278 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                       `#43` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 309 |                       ok!(out.write_str(val).map_err(Error::from));
[INFO] [stdout]     |                           ---------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                       ctx_ok!(self.env.format(&stack.pop(), state, out));
[INFO] [stdout]     |                               -----------------------------------------
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 329 |                       stack.push(match a.get_attr_fast(name) {
[INFO] [stdout]     |                                        ---------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 330 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 331 |                           None => ctx_ok!(undefined_behavior.handle_undefined(a.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       stack.push(match b.get_item_opt(&a) {
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 350 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 351 |                           None => ctx_ok!(undefined_behavior.handle_undefined(b.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 362 |                       stack.push(ctx_ok!(ops::slice(a, b, stop, step)));
[INFO] [stdout]     |                                          ----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 372 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 381 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                           `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 395 |                       ctx_ok!(self.unpack_list(&mut stack, *count));
[INFO] [stdout]     |                               ------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                       ctx_ok!(state.undefined_behavior().assert_iterable(&a));
[INFO] [stdout]     |                               ----------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                               `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 425 |                       stack.push(ctx_ok!(ops::contains(&a, &b)));
[INFO] [stdout]     |                                          ---------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                          `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 429 |                       stack.push(ctx_ok!(ops::neg(&a)));
[INFO] [stdout]     |                                          ------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                          `#22` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 432 |                       ctx_ok!(state.ctx.push_frame(Frame::default()));
[INFO] [stdout]     |                               --------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 435 |                       if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop {
[INFO] [stdout]     |                                   ------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `loop_ctx` calls a custom destructor
[INFO] [stdout]     |                                   `loop_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 453 |                       ctx_ok!(self.push_loop(state, a, *flags, pc, next_loop_recursion_jump.take()));
[INFO] [stdout]     |                               ---------------------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                               `#24` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 459 |                       let next = {
[INFO] [stdout]     |                           ----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `next` calls a custom destructor
[INFO] [stdout]     |                           `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |                               let mut triple = l.object.value_triple.lock().unwrap();
[INFO] [stdout]     |                                   ----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `triple` calls a custom destructor
[INFO] [stdout]     |                                   `triple` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 491 |                       if !ctx_ok!(undefined_behavior.is_true(&a)) {
[INFO] [stdout]     |                                   ------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 497 |                       if !ctx_ok!(undefined_behavior.is_true(stack.peek())) {
[INFO] [stdout]     |                                   ----------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                                   `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 501 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                           `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 |                       if ctx_ok!(undefined_behavior.is_true(stack.peek())) {
[INFO] [stdout]     |                                  ----------------------------------------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                                  `#28` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 509 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                           `#29` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 515 |                           self.call_block(name, state, out)?;
[INFO] [stdout]     |                           ----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                           `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                           `#31` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 521 |                       state.auto_escape = ctx_ok!(self.derive_auto_escape(a, initial_auto_escape));
[INFO] [stdout]     |                                                   -----------------------------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     |                                                   `#32` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 534 |                           ctx_ok!(get_or_lookup_local(&mut loaded_filters, *local_id, || {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 535 | |                             state.env.get_filter(name)
[INFO] [stdout] 536 | |                         })
[INFO] [stdout] 537 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 542 | |                         }));
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                            `#33` will be dropped later as of Edition 2024
[INFO] [stdout] 543 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 544 | |                     a = ctx_ok!(filter.apply_to(state, args));
[INFO] [stdout]     | |                                 ----------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     | |                                 `#34` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 549 |                       let test = ctx_ok!(get_or_lookup_local(&mut loaded_tests, *local_id, || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]     | |________________________________________|
[INFO] [stdout] 550 | |                         state.env.get_test(name)
[INFO] [stdout] 551 | |                     })
[INFO] [stdout] 552 | |                     .ok_or_else(|| {
[INFO] [stdout] 553 | |                         Error::new(ErrorKind::UnknownTest, format!("test {name} is unknown"))
[INFO] [stdout] 554 | |                     }));
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                        `#35` will be dropped later as of Edition 2024
[INFO] [stdout] 555 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 556 | |                     let rv = ctx_ok!(test.perform(state, args));
[INFO] [stdout]     | |                                      -------------------------
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |                                      this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     | |                                      `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 569 | |                         stack.push(ctx_ok!(self.perform_super(state, out, true)));
[INFO] [stdout]     | |                                            ------------------------------------
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |                                            this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     | |                                            `#37` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 580 | |                     } else { match state.lookup(name) { Some(func) => {
[INFO] [stdout]     | |                                    ^^^^^^^^^^^^^^^^^^        ----
[INFO] [stdout]     | |                                    |                         |
[INFO] [stdout]     | |                                    |                         `func` calls a custom destructor
[INFO] [stdout]     | |                                    |                         `func` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                    this value will be stored in a temporary; let us call it `#49`
[INFO] [stdout]     | |                                    up until Edition 2021 `#49` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 581 | |                         let args = stack.slice_top(*arg_count);
[INFO] [stdout] 582 | |                         a = ctx_ok!(func.call(state, args));
[INFO] [stdout]     | |                                     ----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     | |                                     `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 590 | |                     }}}
[INFO] [stdout]     | |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 594 | |                     a = ctx_ok!(args[0].call_method(state, name, &args[1..]));
[INFO] [stdout]     | |                                 --------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |                     a = ctx_ok!(args[0].call(state, &args[1..]));
[INFO] [stdout]     | |                                 -------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     | |                                 `#41` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 608 | |                     stack.pop();
[INFO] [stdout]     | |                     -----------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     | |                     `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 611 | |                     ctx_ok!(self.perform_super(state, out, false));
[INFO] [stdout]     | |                             -------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     | |                             `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 648 | |                     parent_instructions = Some(ctx_ok!(self.load_blocks(a, state)));
[INFO] [stdout]     | |                                                        --------------------------
[INFO] [stdout]     | |                                                        |
[INFO] [stdout]     | |                                                        this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     | |                                                        `#46` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 654 | |                     ctx_ok!(self.perform_include(a, state, out, *ignore_missing));
[INFO] [stdout]     | |                             ----------------------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |                             `#47` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 661 | |                         module.insert(Value::from(*key), value.clone());
[INFO] [stdout]     | |                         -----------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     | |                         `#48` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#49` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#49` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `a` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `b` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#23` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `loop_ctx` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `loop_ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `next` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `triple` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#26` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#29` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#32` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#32` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#35` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#35` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#38` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#38` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `func` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `func` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#41` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#41` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#43` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#43` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#45` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#45` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#48` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#48` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/filters.rs:1199:21
[INFO] [stdout]      |
[INFO] [stdout] 1197 |         for value in ok!(state.undefined_behavior().try_iter(value)) {
[INFO] [stdout]      |             -----    -----------------------------------------------
[INFO] [stdout]      |             |        |
[INFO] [stdout]      |             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |             |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `value` calls a custom destructor
[INFO] [stdout]      |             `value` will be dropped later as of Edition 2024
[INFO] [stdout] 1198 |             let test_value = if let Some(ref attr) = attr {
[INFO] [stdout]      |                 ----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `test_value` calls a custom destructor
[INFO] [stdout]      |                 `test_value` will be dropped later as of Edition 2024
[INFO] [stdout] 1199 |                 ok!(value.get_path(attr))
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1200 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1204 |                 let new_args = Some(test_value)
[INFO] [stdout]      |                     --------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `new_args` calls a custom destructor
[INFO] [stdout]      |                     `new_args` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `value` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `test_value` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `test_value` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `new_args` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `new_args` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/filters.rs:1208:21
[INFO] [stdout]      |
[INFO] [stdout] 1204 |                 let new_args = Some(test_value)
[INFO] [stdout]      |                     --------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `new_args` calls a custom destructor
[INFO] [stdout]      |                     `new_args` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1208 |                 ok!(test.perform(state, &new_args))
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1209 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `new_args` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `new_args` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout]   7 | /         match $expr {
[INFO] [stdout]   8 | |             Ok(val) => val,
[INFO] [stdout]   9 | |             Err(err) => return Err(err),
[INFO] [stdout]  10 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/deserialize.rs:84:38
[INFO] [stdout]     |
[INFO] [stdout]  84 |           while let Some((k, v)) = ok!(map.next_entry()) {
[INFO] [stdout]     |                                    ---------------------
[INFO] [stdout]     |                                    |   |
[INFO] [stdout]     |                                    |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    in this macro invocation
[INFO] [stdout]  85 |               rv.insert(k, v);
[INFO] [stdout]     |               ---------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  86 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `ok` which comes from the expansion of the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:254:30
[INFO] [stdout]     |
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 252 |                 let expr2 = ok!(self.parse_or());
[INFO] [stdout]     |                                 ---------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 253 |                 let expr3 = if skip_token!(self, Token::Ident("else")) {
[INFO] [stdout] 254 |                     Some(ok!(self.parse_ifexpr()))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                              up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 255 |                 } else {
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:443:29
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 439 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 443 |                         ok!(self.parse_args())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                             up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 444 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 457 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 483 |                         let mut expr = ok!(self.parse_unary_only());
[INFO] [stdout]     |                                            -----------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 484 |                         expr = ok!(self.parse_postfix(expr, span));
[INFO] [stdout]     |                                    ------------------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:462:29
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 439 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |                         ok!(self.parse_args())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                             up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 463 |                     } else if matches_token!(
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 483 |                         let mut expr = ok!(self.parse_unary_only());
[INFO] [stdout]     |                                            -----------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 484 |                         expr = ok!(self.parse_postfix(expr, span));
[INFO] [stdout]     |                                    ------------------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:437:23
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 437 |             match ok!(self.stream.current()) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 438 |                 Some((Token::Pipe, _)) => {
[INFO] [stdout] 439 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 457 |                     ok!(self.stream.next());
[INFO] [stdout]     |                         ------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 483 |                         let mut expr = ok!(self.parse_unary_only());
[INFO] [stdout]     |                                            -----------------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 484 |                         expr = ok!(self.parse_postfix(expr, span));
[INFO] [stdout]     |                                    ------------------------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:576:62
[INFO] [stdout]     |
[INFO] [stdout] 576 |                     while let Some((Token::Str(s), _)) = ok!(self.stream.current()) {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                              |
[INFO] [stdout]     |                                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 577 |                         buf.push_str(s);
[INFO] [stdout] 578 |                         ok!(self.stream.next());
[INFO] [stdout]     |                             ------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 579 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:781:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |               `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 777 |                 let rv = ok!(self.parse_assignment());
[INFO] [stdout]     |                              -----------------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 781 |                 ok!(self.parse_assign_name(false))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 782 |             });
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:869:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  80 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 let _ = $p.stream.next();
[INFO] [stdout]     |                         ----------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 865 |                 let assign = ok!(self.parse_assignment());
[INFO] [stdout]     |                                  -----------------------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 869 |                 ok!(self.parse_assign_name(false))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                     up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 870 |             };
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 871 |             expect_token!(self, Token::Assign, "assignment operator");
[INFO] [stdout] 872 |             let expr = ok!(self.parse_expr());
[INFO] [stdout]     |                            -----------------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                            `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/compiler/parser.rs:958:21
[INFO] [stdout]     |
[INFO] [stdout]  70 |         match $p.stream.current() {
[INFO] [stdout]     |               -------------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 958 |                 ok!(self.parse_args())
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 959 |             } else {
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/compiler/parser.rs:1039:26
[INFO] [stdout]      |
[INFO] [stdout]   70 |         match $p.stream.current() {
[INFO] [stdout]      |               -------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   80 |         match $p.stream.current() {
[INFO] [stdout]      |               -------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   83 |                 let _ = $p.stream.next();
[INFO] [stdout]      |                         ----------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1037 |             let name = ok!(self.parse_assign_name(false));
[INFO] [stdout]      |                            -----------------------------
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 1038 |             let alias = if skip_token!(self, Token::Ident("as")) {
[INFO] [stdout] 1039 |                 Some(ok!(self.parse_assign_name(false)))
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                          up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1040 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/context.rs:168:52
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     for key in iter {
[INFO] [stdout]     |                         ---    ----
[INFO] [stdout]     |                         |      |
[INFO] [stdout]     |                         |      `iter` calls a custom destructor
[INFO] [stdout]     |                         |      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `key` calls a custom destructor
[INFO] [stdout]     |                         `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                                 if let Ok(value) = frame.ctx.get_item(&key) {
[INFO] [stdout]     |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |        |
[INFO] [stdout]     |                                           |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                           |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                           `value` calls a custom destructor
[INFO] [stdout]     |                                           `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 172 |                             }
[INFO] [stdout]     |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `key` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `value` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/context.rs:164:35
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 if let Ok(iter) = frame.ctx.try_iter() {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 165 |                     for key in iter {
[INFO] [stdout]     |                         ---    ----
[INFO] [stdout]     |                         |      |
[INFO] [stdout]     |                         |      `iter` calls a custom destructor
[INFO] [stdout]     |                         |      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         `key` calls a custom destructor
[INFO] [stdout]     |                         `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                                 if let Ok(value) = frame.ctx.get_item(&key) {
[INFO] [stdout]     |                                           -----
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           `value` calls a custom destructor
[INFO] [stdout]     |                                           `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `key` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `value` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/mod.rs:435:49
[INFO] [stdout]     |
[INFO] [stdout] 200 |                   let jump_target = ctx_ok!(self.prepare_loop_recursion(state));
[INFO] [stdout]     |                                             ----------------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                             `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                                             `#45` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 232 |                       out.end_capture(AutoEscape::None);
[INFO] [stdout]     |                       ---------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |               let a;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 247 |               let b;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |                       stack.push(ctx_ok!(ops::$method(&a, &b)));
[INFO] [stdout]     |                                               ---------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                               `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                               `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                               `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 | /                     match $expr {
[INFO] [stdout] 276 | |                         Ok(rv) => rv,
[INFO] [stdout] 277 | |                         Err(err) => bail!(err),
[INFO] [stdout] 278 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                       `#43` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 309 |                       ok!(out.write_str(val).map_err(Error::from));
[INFO] [stdout]     |                           ---------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                       ctx_ok!(self.env.format(&stack.pop(), state, out));
[INFO] [stdout]     |                               -----------------------------------------
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 329 |                       stack.push(match a.get_attr_fast(name) {
[INFO] [stdout]     |                                        ---------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 330 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 331 |                           None => ctx_ok!(undefined_behavior.handle_undefined(a.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       stack.push(match b.get_item_opt(&a) {
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 350 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 351 |                           None => ctx_ok!(undefined_behavior.handle_undefined(b.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 362 |                       stack.push(ctx_ok!(ops::slice(a, b, stop, step)));
[INFO] [stdout]     |                                          ----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 372 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 381 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                           `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 395 |                       ctx_ok!(self.unpack_list(&mut stack, *count));
[INFO] [stdout]     |                               ------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                       ctx_ok!(state.undefined_behavior().assert_iterable(&a));
[INFO] [stdout]     |                               ----------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                               `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 425 |                       stack.push(ctx_ok!(ops::contains(&a, &b)));
[INFO] [stdout]     |                                          ---------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                          `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 429 |                       stack.push(ctx_ok!(ops::neg(&a)));
[INFO] [stdout]     |                                          ------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                          `#22` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 432 |                       ctx_ok!(state.ctx.push_frame(Frame::default()));
[INFO] [stdout]     |                               --------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 435 |                       if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop {
[INFO] [stdout]     |                                   ------------    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |               |
[INFO] [stdout]     |                                   |               this value will be stored in a temporary; let us call it `#49`
[INFO] [stdout]     |                                   |               up until Edition 2021 `#49` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `loop_ctx` calls a custom destructor
[INFO] [stdout]     |                                   `loop_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 445 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 453 |                       ctx_ok!(self.push_loop(state, a, *flags, pc, next_loop_recursion_jump.take()));
[INFO] [stdout]     |                               ---------------------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                               `#24` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 459 |                       let next = {
[INFO] [stdout]     |                           ----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `next` calls a custom destructor
[INFO] [stdout]     |                           `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |                               let mut triple = l.object.value_triple.lock().unwrap();
[INFO] [stdout]     |                                   ----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `triple` calls a custom destructor
[INFO] [stdout]     |                                   `triple` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 491 |                       if !ctx_ok!(undefined_behavior.is_true(&a)) {
[INFO] [stdout]     |                                   ------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 497 |                       if !ctx_ok!(undefined_behavior.is_true(stack.peek())) {
[INFO] [stdout]     |                                   ----------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                                   `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 501 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                           `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 |                       if ctx_ok!(undefined_behavior.is_true(stack.peek())) {
[INFO] [stdout]     |                                  ----------------------------------------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                                  `#28` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 509 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                           `#29` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 515 |                           self.call_block(name, state, out)?;
[INFO] [stdout]     |                           ----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                           `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                           `#31` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 521 |                       state.auto_escape = ctx_ok!(self.derive_auto_escape(a, initial_auto_escape));
[INFO] [stdout]     |                                                   -----------------------------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     |                                                   `#32` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 534 |                           ctx_ok!(get_or_lookup_local(&mut loaded_filters, *local_id, || {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 535 | |                             state.env.get_filter(name)
[INFO] [stdout] 536 | |                         })
[INFO] [stdout] 537 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 542 | |                         }));
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                            `#33` will be dropped later as of Edition 2024
[INFO] [stdout] 543 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 544 | |                     a = ctx_ok!(filter.apply_to(state, args));
[INFO] [stdout]     | |                                 ----------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     | |                                 `#34` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 549 |                       let test = ctx_ok!(get_or_lookup_local(&mut loaded_tests, *local_id, || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]     | |________________________________________|
[INFO] [stdout] 550 | |                         state.env.get_test(name)
[INFO] [stdout] 551 | |                     })
[INFO] [stdout] 552 | |                     .ok_or_else(|| {
[INFO] [stdout] 553 | |                         Error::new(ErrorKind::UnknownTest, format!("test {name} is unknown"))
[INFO] [stdout] 554 | |                     }));
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                        `#35` will be dropped later as of Edition 2024
[INFO] [stdout] 555 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 556 | |                     let rv = ctx_ok!(test.perform(state, args));
[INFO] [stdout]     | |                                      -------------------------
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |                                      this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     | |                                      `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 569 | |                         stack.push(ctx_ok!(self.perform_super(state, out, true)));
[INFO] [stdout]     | |                                            ------------------------------------
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |                                            this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     | |                                            `#37` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 580 | |                     } else { match state.lookup(name) { Some(func) => {
[INFO] [stdout]     | |                                                              ----
[INFO] [stdout]     | |                                                              |
[INFO] [stdout]     | |                                                              `func` calls a custom destructor
[INFO] [stdout]     | |                                                              `func` will be dropped later as of Edition 2024
[INFO] [stdout] 581 | |                         let args = stack.slice_top(*arg_count);
[INFO] [stdout] 582 | |                         a = ctx_ok!(func.call(state, args));
[INFO] [stdout]     | |                                     ----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     | |                                     `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 594 | |                     a = ctx_ok!(args[0].call_method(state, name, &args[1..]));
[INFO] [stdout]     | |                                 --------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |                     a = ctx_ok!(args[0].call(state, &args[1..]));
[INFO] [stdout]     | |                                 -------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     | |                                 `#41` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 608 | |                     stack.pop();
[INFO] [stdout]     | |                     -----------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     | |                     `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 611 | |                     ctx_ok!(self.perform_super(state, out, false));
[INFO] [stdout]     | |                             -------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     | |                             `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 648 | |                     parent_instructions = Some(ctx_ok!(self.load_blocks(a, state)));
[INFO] [stdout]     | |                                                        --------------------------
[INFO] [stdout]     | |                                                        |
[INFO] [stdout]     | |                                                        this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     | |                                                        `#46` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 654 | |                     ctx_ok!(self.perform_include(a, state, out, *ignore_missing));
[INFO] [stdout]     | |                             ----------------------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |                             `#47` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 661 | |                         module.insert(Value::from(*key), value.clone());
[INFO] [stdout]     | |                         -----------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     | |                         `#48` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#49` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#49` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `a` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `b` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#23` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `loop_ctx` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `loop_ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `next` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `triple` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#26` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#29` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#32` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#32` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#35` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#35` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#38` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#38` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `func` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `func` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#41` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#41` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#43` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#43` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#45` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#45` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#48` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#48` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/vm/mod.rs:580:36
[INFO] [stdout]     |
[INFO] [stdout] 200 |                   let jump_target = ctx_ok!(self.prepare_loop_recursion(state));
[INFO] [stdout]     |                                             ----------------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#38`
[INFO] [stdout]     |                                             `#38` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#45`
[INFO] [stdout]     |                                             `#45` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 232 |                       out.end_capture(AutoEscape::None);
[INFO] [stdout]     |                       ---------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |               let a;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 247 |               let b;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |                       stack.push(ctx_ok!(ops::$method(&a, &b)));
[INFO] [stdout]     |                                               ---------------
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                               `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                               `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                               `#17` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                               `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                               `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 | /                     match $expr {
[INFO] [stdout] 276 | |                         Ok(rv) => rv,
[INFO] [stdout] 277 | |                         Err(err) => bail!(err),
[INFO] [stdout] 278 | |                     }
[INFO] [stdout]     | |                     -
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#43`
[INFO] [stdout]     |                       `#43` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 309 |                       ok!(out.write_str(val).map_err(Error::from));
[INFO] [stdout]     |                           ---------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 312 |                       ctx_ok!(self.env.format(&stack.pop(), state, out));
[INFO] [stdout]     |                               -----------------------------------------
[INFO] [stdout]     |                               |                |
[INFO] [stdout]     |                               |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 329 |                       stack.push(match a.get_attr_fast(name) {
[INFO] [stdout]     |                                        ---------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 330 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 331 |                           None => ctx_ok!(undefined_behavior.handle_undefined(a.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       stack.push(match b.get_item_opt(&a) {
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 350 |                           Some(value) => assert_valid!(value),
[INFO] [stdout] 351 |                           None => ctx_ok!(undefined_behavior.handle_undefined(b.is_undefined())),
[INFO] [stdout]     |                                           -----------------------------------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                           `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 362 |                       stack.push(ctx_ok!(ops::slice(a, b, stop, step)));
[INFO] [stdout]     |                                          ----------------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 372 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 381 |                           map.insert(key, value);
[INFO] [stdout]     |                           ----------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                           `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 395 |                       ctx_ok!(self.unpack_list(&mut stack, *count));
[INFO] [stdout]     |                               ------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                               `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 424 |                       ctx_ok!(state.undefined_behavior().assert_iterable(&a));
[INFO] [stdout]     |                               ----------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                               `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 425 |                       stack.push(ctx_ok!(ops::contains(&a, &b)));
[INFO] [stdout]     |                                          ---------------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                          `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 429 |                       stack.push(ctx_ok!(ops::neg(&a)));
[INFO] [stdout]     |                                          ------------
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     |                                          `#22` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 432 |                       ctx_ok!(state.ctx.push_frame(Frame::default()));
[INFO] [stdout]     |                               --------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                               `#23` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 435 |                       if let Some(mut loop_ctx) = state.ctx.pop_frame().current_loop {
[INFO] [stdout]     |                                   ------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `loop_ctx` calls a custom destructor
[INFO] [stdout]     |                                   `loop_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 453 |                       ctx_ok!(self.push_loop(state, a, *flags, pc, next_loop_recursion_jump.take()));
[INFO] [stdout]     |                               ---------------------------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                               `#24` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 459 |                       let next = {
[INFO] [stdout]     |                           ----
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `next` calls a custom destructor
[INFO] [stdout]     |                           `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 462 |                               let mut triple = l.object.value_triple.lock().unwrap();
[INFO] [stdout]     |                                   ----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `triple` calls a custom destructor
[INFO] [stdout]     |                                   `triple` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 491 |                       if !ctx_ok!(undefined_behavior.is_true(&a)) {
[INFO] [stdout]     |                                   ------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                   `#25` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 497 |                       if !ctx_ok!(undefined_behavior.is_true(stack.peek())) {
[INFO] [stdout]     |                                   ----------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                                   `#26` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 501 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#27`
[INFO] [stdout]     |                           `#27` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 |                       if ctx_ok!(undefined_behavior.is_true(stack.peek())) {
[INFO] [stdout]     |                                  ----------------------------------------
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#28`
[INFO] [stdout]     |                                  `#28` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 509 |                           stack.pop();
[INFO] [stdout]     |                           -----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#29`
[INFO] [stdout]     |                           `#29` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 515 |                           self.call_block(name, state, out)?;
[INFO] [stdout]     |                           ----------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#30`
[INFO] [stdout]     |                           `#30` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#31`
[INFO] [stdout]     |                           `#31` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 521 |                       state.auto_escape = ctx_ok!(self.derive_auto_escape(a, initial_auto_escape));
[INFO] [stdout]     |                                                   -----------------------------------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#32`
[INFO] [stdout]     |                                                   `#32` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 534 |                           ctx_ok!(get_or_lookup_local(&mut loaded_filters, *local_id, || {
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 535 | |                             state.env.get_filter(name)
[INFO] [stdout] 536 | |                         })
[INFO] [stdout] 537 | |                         .ok_or_else(|| {
[INFO] [stdout] ...   |
[INFO] [stdout] 542 | |                         }));
[INFO] [stdout]     | |                          -
[INFO] [stdout]     | |__________________________|
[INFO] [stdout]     | |__________________________this value will be stored in a temporary; let us call it `#33`
[INFO] [stdout]     |                            `#33` will be dropped later as of Edition 2024
[INFO] [stdout] 543 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 544 | |                     a = ctx_ok!(filter.apply_to(state, args));
[INFO] [stdout]     | |                                 ----------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#34`
[INFO] [stdout]     | |                                 `#34` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 549 |                       let test = ctx_ok!(get_or_lookup_local(&mut loaded_tests, *local_id, || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout]     | |________________________________________|
[INFO] [stdout] 550 | |                         state.env.get_test(name)
[INFO] [stdout] 551 | |                     })
[INFO] [stdout] 552 | |                     .ok_or_else(|| {
[INFO] [stdout] 553 | |                         Error::new(ErrorKind::UnknownTest, format!("test {name} is unknown"))
[INFO] [stdout] 554 | |                     }));
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |______________________|
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#35`
[INFO] [stdout]     |                        `#35` will be dropped later as of Edition 2024
[INFO] [stdout] 555 |                       let args = stack.slice_top(*arg_count);
[INFO] [stdout] 556 | |                     let rv = ctx_ok!(test.perform(state, args));
[INFO] [stdout]     | |                                      -------------------------
[INFO] [stdout]     | |                                      |
[INFO] [stdout]     | |                                      this value will be stored in a temporary; let us call it `#36`
[INFO] [stdout]     | |                                      `#36` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 569 | |                         stack.push(ctx_ok!(self.perform_super(state, out, true)));
[INFO] [stdout]     | |                                            ------------------------------------
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |                                            this value will be stored in a temporary; let us call it `#37`
[INFO] [stdout]     | |                                            `#37` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 580 | |                     } else { match state.lookup(name) { Some(func) => {
[INFO] [stdout]     | |                                    ^^^^^^^^^^^^^^^^^^        ----
[INFO] [stdout]     | |                                    |                         |
[INFO] [stdout]     | |                                    |                         `func` calls a custom destructor
[INFO] [stdout]     | |                                    |                         `func` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                    this value will be stored in a temporary; let us call it `#49`
[INFO] [stdout]     | |                                    up until Edition 2021 `#49` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 581 | |                         let args = stack.slice_top(*arg_count);
[INFO] [stdout] 582 | |                         a = ctx_ok!(func.call(state, args));
[INFO] [stdout]     | |                                     ----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#39`
[INFO] [stdout]     | |                                     `#39` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 590 | |                     }}}
[INFO] [stdout]     | |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout] 594 | |                     a = ctx_ok!(args[0].call_method(state, name, &args[1..]));
[INFO] [stdout]     | |                                 --------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#40`
[INFO] [stdout]     | |                                 `#40` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |                     a = ctx_ok!(args[0].call(state, &args[1..]));
[INFO] [stdout]     | |                                 -------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#41`
[INFO] [stdout]     | |                                 `#41` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 608 | |                     stack.pop();
[INFO] [stdout]     | |                     -----------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#42`
[INFO] [stdout]     | |                     `#42` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 611 | |                     ctx_ok!(self.perform_super(state, out, false));
[INFO] [stdout]     | |                             -------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#44`
[INFO] [stdout]     | |                             `#44` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 648 | |                     parent_instructions = Some(ctx_ok!(self.load_blocks(a, state)));
[INFO] [stdout]     | |                                                        --------------------------
[INFO] [stdout]     | |                                                        |
[INFO] [stdout]     | |                                                        this value will be stored in a temporary; let us call it `#46`
[INFO] [stdout]     | |                                                        `#46` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 654 | |                     ctx_ok!(self.perform_include(a, state, out, *ignore_missing));
[INFO] [stdout]     | |                             ----------------------------------------------------
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |                             this value will be stored in a temporary; let us call it `#47`
[INFO] [stdout]     | |                             `#47` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 661 | |                         module.insert(Value::from(*key), value.clone());
[INFO] [stdout]     | |                         -----------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#48`
[INFO] [stdout]     | |                         `#48` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#49` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#49` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `a` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `b` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#18` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#19` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#22` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#23` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `loop_ctx` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `loop_ctx` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#24` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `next` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `next` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `triple` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#25` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#26` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#26` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#27` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#27` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#28` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#28` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#29` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#29` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#30` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#30` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#31` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#31` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#32` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#32` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#33` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#33` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#34` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#34` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#35` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#35` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#36` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#36` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#37` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#37` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#38` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#38` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `func` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `func` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#39` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#39` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#40` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#40` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#41` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#41` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#42` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#42` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#43` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#43` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#44` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#44` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout] note: `#45` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#45` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#46` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#46` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#47` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#47` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#48` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#48` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/filters.rs:1199:21
[INFO] [stdout]      |
[INFO] [stdout] 1197 |         for value in ok!(state.undefined_behavior().try_iter(value)) {
[INFO] [stdout]      |             -----    -----------------------------------------------
[INFO] [stdout]      |             |        |
[INFO] [stdout]      |             |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |             |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `value` calls a custom destructor
[INFO] [stdout]      |             `value` will be dropped later as of Edition 2024
[INFO] [stdout] 1198 |             let test_value = if let Some(ref attr) = attr {
[INFO] [stdout]      |                 ----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `test_value` calls a custom destructor
[INFO] [stdout]      |                 `test_value` will be dropped later as of Edition 2024
[INFO] [stdout] 1199 |                 ok!(value.get_path(attr))
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1200 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 1204 |                 let new_args = Some(test_value)
[INFO] [stdout]      |                     --------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `new_args` calls a custom destructor
[INFO] [stdout]      |                     `new_args` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `value` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `test_value` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `test_value` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `new_args` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `new_args` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/filters.rs:1208:21
[INFO] [stdout]      |
[INFO] [stdout] 1204 |                 let new_args = Some(test_value)
[INFO] [stdout]      |                     --------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `new_args` calls a custom destructor
[INFO] [stdout]      |                     `new_args` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1208 |                 ok!(test.perform(state, &new_args))
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1209 |             } else {
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `new_args` invokes this custom destructor
[INFO] [stdout]     --> src/value/type_erase.rs:129:13
[INFO] [stdout]      |
[INFO] [stdout]  129 |               impl Drop for $erased_t_name {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/object.rs:611:1
[INFO] [stdout]      |
[INFO] [stdout]  611 | / type_erase! {
[INFO] [stdout]  612 | |     pub trait Object => DynObject {
[INFO] [stdout]  613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...    |
[INFO] [stdout]  642 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `new_args` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.13s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:232:10
[INFO] [stdout]      |
[INFO] [stdout]  232 |         &(&{args})[..]
[INFO] [stdout]      |          ^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/argtypes.rs:1136:22
[INFO] [stdout]      |
[INFO] [stdout] 1136 |         let (one,) = from_args::<(Option<i32>,)>(args!(None::<i32>)).unwrap();
[INFO] [stdout]      |                      --------------------------- ------------------ in this macro invocation
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__args_helper` which comes from the expansion of the macro `args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/macros.rs:232:10
[INFO] [stdout]      |
[INFO] [stdout]  232 |         &(&{args})[..]
[INFO] [stdout]      |          ^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/argtypes.rs:1138:22
[INFO] [stdout]      |
[INFO] [stdout] 1138 |         let (one,) = from_args::<(Option<i32>,)>(args!(Some(Value::UNDEFINED))).unwrap();
[INFO] [stdout]      |                      --------------------------- ----------------------------- in this macro invocation
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__args_helper` which comes from the expansion of the macro `args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/macros.rs:7:9
[INFO] [stdout]     |
[INFO] [stdout]   7 | /         match $expr {
[INFO] [stdout]   8 | |             Ok(val) => val,
[INFO] [stdout]   9 | |             Err(err) => return Err(err),
[INFO] [stdout]  10 | |         }
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/deserialize.rs:84:38
[INFO] [stdout]     |
[INFO] [stdout]  84 |           while let Some((k, v)) = ok!(map.next_entry()) {
[INFO] [stdout]     |                                    ---------------------
[INFO] [stdout]     |                                    |   |
[INFO] [stdout]     |                                    |   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    |   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    in this macro invocation
[INFO] [stdout]  85 |               rv.insert(k, v);
[INFO] [stdout]     |               ---------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  86 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/value/type_erase.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |               impl Drop for $erased_t_name {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/value/object.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / type_erase! {
[INFO] [stdout] 612 | |     pub trait Object => DynObject {
[INFO] [stdout] 613 | |         fn repr(&self) -> ObjectRepr;
[INFO] [stdout] ...   |
[INFO] [stdout] 642 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `ok` which comes from the expansion of the macro `type_erase` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: axominijinja v2.4.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking axominijinja v2.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/vm/context.rs:302:22
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn pop_frame(&mut self) -> Frame {
[INFO] [stdout]     |                      ^^^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn pop_frame(&mut self) -> Frame<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/value/deserialize.rs:406:31
[INFO] [stdout]     |
[INFO] [stdout] 406 | fn value_to_unexpected(value: &Value) -> Unexpected {
[INFO] [stdout]     |                               ^^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 406 | fn value_to_unexpected(value: &Value) -> Unexpected<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/macros.rs:232:12
[INFO] [stdout]      |
[INFO] [stdout]  232 |         &(&{args})[..]
[INFO] [stdout]      |            ^^^^^^    - temporary value is freed at the end of this statement
[INFO] [stdout]      |            |
[INFO] [stdout]      |            creates a temporary value which is freed while still in use
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/argtypes.rs:1136:22
[INFO] [stdout]      |
[INFO] [stdout] 1136 |         let (one,) = from_args::<(Option<i32>,)>(args!(None::<i32>)).unwrap();
[INFO] [stdout]      |                      --------------------------- ------------------ in this macro invocation
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]      = note: this error originates in the macro `$crate::__args_helper` which comes from the expansion of the macro `args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/macros.rs:232:12
[INFO] [stdout]      |
[INFO] [stdout]  232 |         &(&{args})[..]
[INFO] [stdout]      |            ^^^^^^    - temporary value is freed at the end of this statement
[INFO] [stdout]      |            |
[INFO] [stdout]      |            creates a temporary value which is freed while still in use
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/value/argtypes.rs:1138:22
[INFO] [stdout]      |
[INFO] [stdout] 1138 |         let (one,) = from_args::<(Option<i32>,)>(args!(Some(Value::UNDEFINED))).unwrap();
[INFO] [stdout]      |                      --------------------------- ----------------------------- in this macro invocation
[INFO] [stdout]      |                      |
[INFO] [stdout]      |                      borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]      = note: this error originates in the macro `$crate::__args_helper` which comes from the expansion of the macro `args` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `axominijinja` (lib test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "464081d3b8c9fe1ca9759f81f8eb04a78caab3a4dcf75708555e8bcfe3e7ba30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "464081d3b8c9fe1ca9759f81f8eb04a78caab3a4dcf75708555e8bcfe3e7ba30", kill_on_drop: false }`
[INFO] [stdout] 464081d3b8c9fe1ca9759f81f8eb04a78caab3a4dcf75708555e8bcfe3e7ba30
